# include <iosstream>

using namespace std;

/*
数组案例 
    完成代码，给予任意 int 类型数据，找出目标 int 类型数组中最大值对应的下标位置，

int arr[10] = {1, 3, 5, 7, 9, 2, 4, 6, 8, 10};

数组中最大值下标位置为 9
*/

int main(int argc, char const*argv[])
{
    /**
     * 搜索最大值下标位置的数组
     */
    int arr[10] = {1, 3, 5, 7, 9, 2, 4, 6, 8, 10};

    /*
    定义一个变量用于储存下标，初始化为 0 ，假设数组中下标为 0 的元素是整个
    数组的最大值的下标位置。
    */
   int index = 0;
   /*
   利用 for 循环遍历整个数组，如果发现数据大于 index 储存下标位置对应元素
   index 储存对应下标位置，知道数组的末尾，可以确定 index 对应元素就是数组
   中最大值元素的下标位置。

   tips：当前循环变量 i 可以从 1 开始，因为 index 初始化数据为 0 ，如果 i 从
   0 开始，第一次存循环中情况是 arr[0] > arr[0] 操作无意义，浪费循环次数，小优化
   将 i 从 1 开始。
   */

  for (int i = 1; i < 10; i++)
  {
    /*
    如果下标 i 对应元素大于下标 index 元素，
    index 存储当前 i。
    */
   if (arr[i] > arr[index])
   {
        index = i;
   }
  }

  cou <<"数组中最大值对应元素下标位置 : "<< index << endl;
  
  return 0;
}